﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows;
using PairingMatrix.Common.Command;
using PairingMatrix.Common.Enum;
using PairingMatrix.Model;

namespace PairingMatrix.ViewModel
{
    public interface ITeamMemberCardViewModel
    {
        Guid Id { get; }
        string Name { get; set; }
        string PhotoUri { get; set;}
        Point Position { get; set; }
        TeamMemberModel Model { get; }
        ObservableCollection<PairedWithViewModel> PairedWith { get; }
        bool ArrangeCardToShowStatistics { get; set; }
        bool ShowStatistics { get; set; }
        bool HasSignUpsOnCurrentWall { get;  }
        WallType Wall { get; }
        int NumberOfSignUpsWithSelectedTeamMember { get; }
        PairingLevel PairingLevelWithSelectedTeamMember { get; }
        bool ShowNumberOfDaysPairedWithSelectedTeamMember { get; set; }
        RelayCommand DeleteCommand { get; }
        bool ShowCardInAbsenteesBox { get; set; }
        bool ArrangeCardToShowIceCreamMeter { get; set; }
        ObservableCollection<string> IceCreams { get; set;}
        int IceCreamCost { get; }
        void CalculateIceCreamCost(double totalCostOfIceCreams, double totalCountOfIceCreams);
        void ClearIceCreams();
    }
}